#!/usr/bin/env bash
#path 
#-------------------------------------------------------
#	FileName	: test.sh
#	Author		：hpy
#	Date		：2020年10月09日
#	Description	：自动查找最近1分钟时间内修改的文件并运行
#-------------------------------------------------------
lfilename=$(readlink -f $0)
#找出最近一分钟修改的文件
function AutoRun(){
    src=$(find . -type f -amin 1  | xargs ls -ta | head -n +1)
    echo $src 
    if [ ${#src} -eq 0 ] ; then
        echo "没有检测到最近修改的文件"
        exit 2
    fi 
    filename=$(readlink -f $src)
    if [[ $filename = $lfilename ]] ; then
        echo "不支持自举运行"
        exit 2
    fi 
    pathdir=$(dirname $src)
    if [ -f $pathdir/run ] ; then 
        ./$pathdir/run
        exit 0
    elif [ -f $pathdir/run.sh ] ;then 
        ./$pathdir/run.sh 
        exit 0
    else 
        ReadFileType $src
    fi 
    
}

function ReadFileType(){
    case $1 in
        *.sh | *.fish | *.pl | *.tcl | *.tk | *.py | *.lua)  chmod +x $1 && ./$1 ;;
        *.c) gcc -o $dst $1 && chmod +x $dst && ./$dst;;
        *.cpp) g++ -std=c++11 -o $dst $1 && chmod +x $dst && ./$dst;;
        *.go ) go build -o $dst $1 && chmod +x $dst &&  ./$dst ;;
        *.plt) gnuplot $1 ;;   #gnuplot
        * ) echo "Fuck! I don't konw what it is!" ;;
    esac
    test -f $dst && rm $dst &>/dev/null
    exit 0
}

AutoRun


